3.2. RED в сетях TCP/IP
TCP – протокол, ориентированный
на соединение, в связи с чем он имеет ряд особенностей. TCP начинает свою
работу с процедуры установления соединения и согласования (синхронизации)
основных параметров, таких как размер окна подтверждения и максимальный
размер пакета. После синхронизации TCP сразу посылает столько пакетов,
сколько допускает размер окна подтверждения.
Подобный всплеск нагрузки не
представляет опасности для скоростных локальных сетей. Однако в комплексных
сетях, где могут существовать низкоскоростные участки и перегруженные коммутаторы,
неожиданное появление большого числа пакетов способно привести к серьезному
снижению пропускной способности (что обуславливается потерями трафика и
последующей его ретрансляцией). В современных реализациях протокола TCP
избежать этих неприятностей позволяет механизм Slow Start.
В случае использования Slow
Start протокол TCP, синхронизировав параметры, сначала посылает один пакет,
затем (когда получено подтверждение его доставки) – два, четыре, и так
до тех пор, пока количество одновременно передаваемых пакетов не окажется
соответствующим размерам окна подтверждения. При потере хотя бы одного
из пакетов источник начинает процедуру Slow Start заново. В различных реализациях
TCP (TCP Tahoe, TCP Reno) количество пакетов, с которого начинается повторная
передача, и коэффициент увеличения числа пакетов могут динамически зависеть
от времени распространения пакетов (Round-trip time – RTT). Это дает возможность
достаточно адекватно реагировать на состояние сети.
Алгоритм RED позволяет контролировать
нагрузку с помощью выборочного случайного уничтожения некоторых пакетов,
что заставляет протоколы, подобные TCP, снижать скорость передачи. При
потере хотя бы одного пакета протокол TCP начинает процедуру Slow Start
заново; это снижает объем трафика, поступающего в сеть. Наиболее разумно
– не дожидаться полной перегрузки сети (тогда будет удален весь трафик),
а уже на подступах к опасному порогу начать выборочное уничтожение отдельных
пакетов, информируя тем самым источники нагрузки о текущей пропускной способности
сети.
Кроме того, алгоритм RED
в сетях TCP/IP помогает избавиться от проблемы, известной под названием
"тотальная синхронизация". Она возникает, когда несколько источников, работающих
через один и тот же перегруженный сегмент сети, обнаруживают потери пакетов.
Как следствие, эти источники одновременно снижают скорость, а затем (также
одновременно) постепенно ее увеличивают, что приводит к новой перегрузке,
потере пакетов и повторению всей процедуры. Таким образом, состояние сети
периодически меняется от простоя до перегрузки.
RED позволяет избежать тотальной
синхронизации, выборочно уничтожая пакеты определенных источников. А поскольку
по чисто вероятностным причинам большие пакеты уничтожаются чаще маленьких,
можно надеяться на достаточно справедливое распределение полосы пропускания.
Разумеется, селективное уничтожение пакетов приводит к нужному результату,
только когда источник обладает каким-либо интеллектуальным механизмом контроля
за скоростью передачи.
Все вышесказанное относится
и к работе протокола TCP через ATM. Поэтому алгоритм RED может вполне эффективно
использоваться для управления передачей трафика TCP/IP в сетях ATM. Кроме
того, в ATM-сетях он применяется в качестве механизма управления трафиком,
дополняющего уже существующие методы. Как это происходит и какие дополнительные
возможности дает, мы рассмотрим в следующем разделе.
{назад [на
главную] вперёд}